import{queryNews} from "../../api/apis"
import {
  formatNum,
  formatTime
} from "../../utils/common.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    newsArr:[],
    loading:false,
    isData:false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getNewsData()
  },

//获取新闻列表
  getNewsData(size=0){// 定义获取新闻数据的函数，size 参数默认值为 0
    this.setData({// 设置加载状态为 true
      loading:true
    })
    queryNews({// 调用接口函数获取新闻数据，传入参数 limit: 8, size
      limit:8,// 每次获取新闻的数量限制为 8 条
      size// 分页参数
    }).then(res=>{// 获取数据成功后的回调函数
      res.data.forEach(item => {// 对每一条新闻进行处理，格式化浏览量和发布日期
        item.view_count = formatNum(item.view_count)// 格式化浏览量
        item.publish_date = formatTime(item.publish_date, 5)// 格式化发布日期
      })
      let oldData = this.data.newsArr// 获取旧的新闻数据数组
      let newData = oldData.concat(res.data);// 将新获取的数据与旧数据合并
      wx.stopPullDownRefresh()// 停止下拉刷新动画
      this.setData({// 更新新闻数据数组和加载状态
        newsArr:newData,
        loading:false
      })
      if(this.data.newsArr.length == res.total){// 判断是否已加载完所有数据
        this.setData({
          isData:true
        })
      }      
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {//下拉刷新事件处理函数
    this.setData({//用于更新页面的数据
      newsArr:[],
      isData:false,
      loading:false//loading 置为 false，以清空之前的数据状态
    })
    this.getNewsData()//在下拉刷新时，会调用这个函数重新获取最新的新闻数据。
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if(this.data.isData) return;
    this.getNewsData(this.data.newsArr.length);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})


// import { queryNews } from "../../api/apis"; // 导入用于获取新闻列表的接口函数
// import { formatNum, formatTime } from "../../utils/common.js"; // 导入用于格式化数字和时间的工具函数

// Page({

//   /**
//    * 页面的初始数据
//    */
//   data: {
//     newsArr: [], // 新闻数据数组
//     loading: false, // 是否正在加载数据
//     isData: false // 是否已加载完所有数据
//   },

//   /**
//    * 生命周期函数--监听页面加载
//    */
//   onLoad(options) {
//     this.getNewsData(); // 页面加载时调用获取新闻列表数据的函数
//   },

//   //获取新闻列表
//   getNewsData(size=0) { // 定义获取新闻列表数据的函数，size 参数默认值为 0
//     this.setData({ // 设置加载状态为 true
//       loading: true
//     });
//     queryNews({ // 调用接口函数获取新闻列表数据，传入参数 limit: 8, size
//       limit: 8, // 每次获取新闻的数量限制为 8 条
//       size // 分页参数
//     }).then(res => { // 获取数据成功后的回调函数
//       res.data.forEach(item => { // 对每一条新闻进行处理，格式化浏览量和发布日期
//         item.view_count = formatNum(item.view_count); // 格式化浏览量
//         item.publish_date = formatTime(item.publish_date, 5); // 格式化发布日期
//       });
//       let oldData = this.data.newsArr; // 获取旧的新闻数据数组
//       let newData = oldData.concat(res.data); // 将新获取的数据与旧数据合并
//       wx.stopPullDownRefresh(); // 停止下拉刷新动画
//       this.setData({ // 更新新闻数据数组和加载状态
//         newsArr: newData,
//         loading: false
//       });
//       if (this.data.newsArr.length == res.total) { // 判断是否已加载完所有数据
//         this.setData({
//           isData: true
//         });
//       }
//     });
//   },
// });
